A confluent λ-calculus with a catch/throw mechanism

نویسنده

  • Tristan Crolard
چکیده

We derive a confluent λ-calculus with a catch/throw mechanism (called λct-calculus) from M. Parigot’s λμ-calculus. We also present several translations from one calculus into the other which are morphisms for the reduction. We use them to show that the λct-calculus is a retract of λμ-calculus (these calculi are isomorphic if we consider only convertibility). As a by-product, we obtain the subject reduction property for the λct-calculus, as well as the strong normalization for λct-terms typable in the second order classical natural deduction.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Strong normalizability of the non-deterministic catch/throw calculi

The catch/throw mechanism in Common Lisp provides a simple control mechanism for non-local exit. We study typed calculi by Nakano and Sato which formalize the catch/throw mechanism. These calculi correspond to classical logic through the Curry-Howard isomorphism, and one of their characteristic points is that they have nondeterministic reduction rules. These calculi can represent various comput...

متن کامل

A New Formulation of the Catch/Throw Mechanism

The catch/throw mechanism in Common Lisp gives a simple control structure for non-local exits. Nakano[7, 9] and Sato[13] proposed intuitionistic calculi with inference rules which give logical interpretations of the catch/throw-constructs. Although the calculi are theoretically well-founded, we cannot use the catch/throw mechanism for handling run-time errors in a meaningful way, because of the...

متن کامل

A Classical Catch/Throw Calculus with Tag Abstractions and its Strong Normalizability

ions and its Strong Normalizability Yukiyoshi Kameyama and Masahiko Sato Department of Information Science, Kyoto University fkameyama,[email protected] Abstract. The catch and throw constructs in Common Lisp provides a means to implement non-local exits. Nakano proposed a calculus L c=t which has inference rules for the catch and throw constructs, and whose types correspond to the i...

متن کامل

A call-by-value λ -calculus with lists and control

Calculi with control operators have been studied to reason about control in programming languages and to interpret the computational content of classical proofs. To make these calculi into a real programming language, one should also include data types. As a step into that direction, this paper defines a simply typed call-by-value λ -calculus with the control operators catch and throw, a data t...

متن کامل

A call-by-value lambda-calculus with lists and control

Calculi with control operators have been studied to reason about control in programming languages and to interpret the computational content of classical proofs. To make these calculi into a real programming language, one should also include data types. As a step into that direction, this paper defines a simply typed call-by-value λ -calculus with the control operators catch and throw, a data t...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999